import org.w3c.dom.Document;
import org.w3c.dom.Element;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.FileOutputStream;
import java.io.PrintWriter;

    public class File {

        public static void main(String[] args) throws Exception {
            Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
//创建根节点为spots的XML文件

            Element spots = document.createElement("spots");
            document.appendChild(spots);

//创建第一个子节点spot-景点
            Element spot = document.createElement("spot");
            spots.appendChild(spot);
//创建景点姓名，值为三国公园
            Element name = document.createElement("name");
            name.appendChild(document.createTextNode("三国公园"));
            spot.appendChild(name);
//创建景点编号，值为a
            Element id = document.createElement("id");
            id.appendChild(document.createTextNode("0"));
            spot.appendChild(id);
//创建景点简介，值为...
            Element intro = document.createElement("intro");
            intro.appendChild(document.createTextNode("三国公园位于湖北省荆州市古城大北门与西门之间城 垣边内侧的广阔地带，占地26万平方米，其中水域面积17万平方米。\n" +
                    "历史上，荆州为魏、蜀、吴三国纷争的重镇，三国公园因此而得名。"));
            spot.appendChild(intro);

            Element adj = document.createElement("adj");
            adj.appendChild(document.createTextNode("1,5;2,10"));
            spot.appendChild(adj);

//创建第二个节点
            spot = document.createElement("spot");
            spots.appendChild(spot);

            name = document.createElement("name");
            name.appendChild(document.createTextNode("荆州博物馆"));
            spot.appendChild(name);

            id = document.createElement("id");
            id.appendChild(document.createTextNode("1"));
            spot.appendChild(id);

            intro = document.createElement("intro");
            intro.appendChild(document.createTextNode("荆州博物馆位于湖北省荆州市荆州区荆中路166号，是一座地方综合性博物馆，为国家AAAA级旅游景区，占地4.8万平方米。始建于1958年，馆舍占地面积5万余平方米，建筑面积达2.3万平方米，绿化面积11000多平方米。"));
            spot.appendChild(intro);

            adj = document.createElement("adj");
            adj.appendChild(document.createTextNode("0,5;7,5"));
            spot.appendChild(adj);

 //第三个
            spot = document.createElement("spot");
            spots.appendChild(spot);

            name = document.createElement("name");
            name.appendChild(document.createTextNode("九老仙都景区"));
            spot.appendChild(name);

            id = document.createElement("id");
            id.appendChild(document.createTextNode("2"));
            spot.appendChild(id);

            intro = document.createElement("intro");
            intro.appendChild(document.createTextNode("九老仙都景区位于湖北省荆州市荆州古城内，北依荆州古城墙，沿古城新北门内环至小北门范围，全长1.3公里，占地340多亩，大小景点共有十余处，是一处以展示荆楚文化为核心内容的大型历史人文景区。"));
            spot.appendChild(intro);

            adj = document.createElement("adj");
            adj.appendChild(document.createTextNode("0,10;3,1"));
            spot.appendChild(adj);

//第四个
            spot = document.createElement("spot");
            spots.appendChild(spot);

            name = document.createElement("name");
            name.appendChild(document.createTextNode("荆州盆景园"));
            spot.appendChild(name);

            id = document.createElement("id");
            id.appendChild(document.createTextNode("3"));
            spot.appendChild(id);

            intro = document.createElement("intro");
            intro.appendChild(document.createTextNode("江陵盆景园是一座集盆景与园林艺术为一体的多功能文化游乐园。园内盆景陈列，争奇斗艳。长石凳上、楚怡馆内的树桩盆景，古朴典雅；心源斋内的山石盆景，拙中寓秀；景渊阁内的根雕盆景，妙趣天成；低矮花窗院墙环围的露天盆景，质朴隽永。"));
            spot.appendChild(intro);

            adj = document.createElement("adj");
            adj.appendChild(document.createTextNode("2,1;4,12;5,4"));
            spot.appendChild(adj);

//第五个
            spot = document.createElement("spot");
            spots.appendChild(spot);

            name = document.createElement("name");
            name.appendChild(document.createTextNode("关帝庙"));
            spot.appendChild(name);

            id = document.createElement("id");
            id.appendChild(document.createTextNode("4"));
            spot.appendChild(id);

            intro = document.createElement("intro");
            intro.appendChild(document.createTextNode("荆州关帝庙也称关公庙，亦称关公馆，位于湖北省荆州市南门，始建于明洪武二十九年（1396年），明万历时重建，清顺治七年（1650年）、雍正十年（1732年）两次重修并扩建。为国家AAA级旅游景区。"));
            spot.appendChild(intro);

            adj = document.createElement("adj");
            adj.appendChild(document.createTextNode("3,12;6,8;7,20"));
            spot.appendChild(adj);

//第六个
            spot = document.createElement("spot");
            spots.appendChild(spot);

            name = document.createElement("name");
            name.appendChild(document.createTextNode("明月公园"));
            spot.appendChild(name);

            id = document.createElement("id");
            id.appendChild(document.createTextNode("5"));
            spot.appendChild(id);

            intro = document.createElement("intro");
            intro.appendChild(document.createTextNode("明月公园于2014年7月1日开园，位于湖北荆州市荆州区，荆州古城墙以北，荆沙大道以南地区，东起荆沙大道与荆州大道交汇处，西至小北门城门原红砖渔场地区。明月公园规划公园总面积21.53平方公顷，其中公园绿地面积6.51平方公顷，水体面积11.89平方公顷。"));
            spot.appendChild(intro);

            adj = document.createElement("adj");
            adj.appendChild(document.createTextNode("3,4;6,5"));
            spot.appendChild(adj);

//第七个
            spot = document.createElement("spot");
            spots.appendChild(spot);

            name = document.createElement("name");
            name.appendChild(document.createTextNode("关公义园"));
            spot.appendChild(name);

            id = document.createElement("id");
            id.appendChild(document.createTextNode("6"));
            spot.appendChild(id);

            intro = document.createElement("intro");
            intro.appendChild(document.createTextNode("荆州关公义园位于荆州古城东南侧，东北紧邻荆州市护城河，南临学苑路，西临凤台路，规划用地面积228亩，项目总投资15亿元，以“义”为主题，以多种方式生动展现关公“义薄云天”的一生。"));
            spot.appendChild(intro);

            adj = document.createElement("adj");
            adj.appendChild(document.createTextNode("4,8;5,5"));
            spot.appendChild(adj);

//第八个
            spot = document.createElement("spot");
            spots.appendChild(spot);

            name = document.createElement("name");
            name.appendChild(document.createTextNode("御河广场"));
            spot.appendChild(name);

            id = document.createElement("id");
            id.appendChild(document.createTextNode("7"));
            spot.appendChild(id);

            intro = document.createElement("intro");
            intro.appendChild(document.createTextNode("御河广场东起郢都路，西至四机厂，全长780米；南起四机路，北抵护城河，南北最大宽度120米，呈不规则形状，广场依势而建。"));
            spot.appendChild(intro);

            adj = document.createElement("adj");
            adj.appendChild(document.createTextNode("2,5;4,20"));
            spot.appendChild(adj);

//将XML文件保存到硬盘
            Transformer transformer = TransformerFactory.newInstance().newTransformer();
            transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            PrintWriter writer = new PrintWriter(new FileOutputStream("D:\\GitHOME\\information\\text.xml"));
            transformer.transform(new DOMSource(document), new StreamResult(writer));
        }
    }

